home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / pvm34b3.zip / pvm34b3 / pvm3 / src / pkt.h < prev    next >
C/C++ Source or Header  |  1997-07-22  |  3KB  |  99 lines

  1.  
  2. /* $Id: pkt.h,v 1.5 1997/06/25 22:09:17 pvmsrc Exp $ */
  3.  
  4. /*
  5.  *         PVM version 3.4:  Parallel Virtual Machine System
  6.  *               University of Tennessee, Knoxville TN.
  7.  *           Oak Ridge National Laboratory, Oak Ridge TN.
  8.  *                   Emory University, Atlanta GA.
  9.  *      Authors:  J. J. Dongarra, G. E. Fagg, M. Fischer
  10.  *          G. A. Geist, J. A. Kohl, R. J. Manchek, P. Mucci,
  11.  *         P. M. Papadopoulos, S. L. Scott, and V. S. Sunderam
  12.  *                   (C) 1997 All Rights Reserved
  13.  *
  14.  *                              NOTICE
  15.  *
  16.  * Permission to use, copy, modify, and distribute this software and
  17.  * its documentation for any purpose and without fee is hereby granted
  18.  * provided that the above copyright notice appear in all copies and
  19.  * that both the copyright notice and this permission notice appear in
  20.  * supporting documentation.
  21.  *
  22.  * Neither the Institutions (Emory University, Oak Ridge National
  23.  * Laboratory, and University of Tennessee) nor the Authors make any
  24.  * representations about the suitability of this software for any
  25.  * purpose.  This software is provided ``as is'' without express or
  26.  * implied warranty.
  27.  *
  28.  * PVM version 3 was funded in part by the U.S. Department of Energy,
  29.  * the National Science Foundation and the State of Tennessee.
  30.  */
  31.  
  32. /*
  33.  *    pkt.h
  34.  *
  35.  *    Packet buffers.
  36.  *
  37. $Log: pkt.h,v $
  38.  * Revision 1.5  1997/06/25  22:09:17  pvmsrc
  39.  * Markus adds his frigging name to the author list of
  40.  *     every file he ever looked at...
  41.  *
  42.  * Revision 1.4  1997/04/24  20:59:42  pvmsrc
  43.  * added pk_rip structure member (used on mpps)
  44.  *
  45.  * Revision 1.3  1997/03/06  21:09:10  pvmsrc
  46.  *     - define __PKT_H__ so that multiple includes of pkt.h won't honk.
  47.  *
  48.  * Revision 1.2  1997/01/28  19:28:16  pvmsrc
  49.  * New Copyright Notice & Authors.
  50.  *
  51.  * Revision 1.1  1996/09/23  23:43:22  pvmsrc
  52.  * Initial revision
  53.  *
  54.  * Revision 1.3  1995/07/24  18:26:09  manchek
  55.  * added message header fields and cpos, removed PF_STARTED
  56.  *
  57.  * Revision 1.2  1994/06/03  20:38:20  manchek
  58.  * version 3.3.0
  59.  *
  60.  * Revision 1.1  1993/08/30  23:26:49  manchek
  61.  * Initial revision
  62.  *
  63.  */
  64.  
  65. #ifndef __PKT_H__
  66. #define __PKT_H__
  67. struct pkt {
  68.     struct pkt *pk_link;        /* queue or 0 */
  69.     struct pkt *pk_rlink;
  70.     struct pkt *pk_tlink;        /* scheduling queue or 0 */
  71.     struct pkt *pk_trlink;
  72.     char *pk_buf;                /* buffer or zero if master pkt */
  73.     char *pk_dat;                /* data */
  74.     int pk_max;                    /* size of buffer */
  75.     int pk_len;                    /* length of data */
  76.     int pk_src;                    /* source tid */
  77.     int pk_dst;                    /* dest tid */
  78.     int pk_flag;                /* fragment flags */
  79.     int pk_enc;                    /* message encoding */
  80.     int pk_tag;                    /* message type tag */
  81.     int pk_ctx;                    /* message context */
  82.     int pk_wid;                    /* message wait context id */
  83.     int pk_crc;                    /* message checksum */
  84.     int pk_nrt;                    /* retry count */
  85.     int pk_seq;                    /* seq num */
  86.     int pk_ack;                    /* ack num */
  87.     int pk_rip;                    /* received in place - used on mpps */
  88.     struct hostd *pk_hostd;        /* receiving host */
  89.     struct timeval pk_rtv;        /* time to retry */
  90.     struct timeval pk_rta;        /* next-retry accumulator */
  91.     struct timeval pk_rto;        /* total time spent on pkt */
  92.     struct timeval pk_at;        /* time pkt first sent */
  93.     char *pk_cpos;                /* write pointer for local protocol */
  94. };
  95.  
  96. struct pkt *pk_new __ProtoGlarp__((int n));
  97. void pk_free __ProtoGlarp__((struct pkt *p));
  98. #endif
  99.